operator(-) Interface

public interface operator(-)

Module Procedures

private pure function rc_subtract(x, y) result(rst)

Overloads - to subtract corresponding elements of two columns. Unequal counts cause ERROR STOP with FS_ARRAY_SIZE_ERROR.

Arguments

Type IntentOptional Attributes Name
class(real_column), intent(in) :: x

The left and right operands; unallocated storage is treated as empty.

class(real_column), intent(in) :: y

The left and right operands; unallocated storage is treated as empty.

Return Value type(real_column)

An independent, unnamed column of x - y, with the operands' count.

private pure function rc_subtract_scalar(x, y) result(rst)

Overloads - to subtract a scalar from each column value.

Arguments

Type IntentOptional Attributes Name
class(real_column), intent(in) :: x

The left operand real_column; unallocated storage is empty.

real(kind=real64), intent(in) :: y

The scalar right operand, broadcast to every row.

Return Value type(real_column)

An independent, unnamed column of x - y, with x's count.

private pure function scalar_subtract_rc(x, y) result(rst)

Overloads - to subtract each column value from a scalar.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: x

The scalar left operand, broadcast to every row.

class(real_column), intent(in) :: y

The right operand real_column; unallocated storage is empty.

Return Value type(real_column)

An independent, unnamed column of x - y, with y's count.

private pure function rc_negative(x) result(rst)

Overloads unary - to negate each column value.

Arguments

Type IntentOptional Attributes Name
class(real_column), intent(in) :: x

The operand real_column; unallocated storage is treated as empty.

Return Value type(real_column)

An independent, unnamed column with negated values and x's count.